package com.ztjy.sys.dao;

import com.ztjy.bean.Module;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface ModuleDao {
    int deleteByPrimaryKey(Integer moduleId);

    int insert(Module record);

    boolean insertSelective(Module record);

    /**
     * 模块详情
     *
     * @param moduleId
     * @return
     */
    Module selectModuleById(Integer moduleId);

    /**
     * 查找所有模块
     *
     * @return
     */
    List<Module> selectAllModule(@Param("moduleState") Integer moduleState, @Param("mname") String mname, @Param("pid") Integer pid);

    boolean updateByPrimaryKeySelective(Module record);

    int updateByPrimaryKey(Module record);

    /**
     * 查找父模块详情
     *
     * @param pid
     * @return
     */
    Module findParentModule(Integer pid);

    /**
     * 查找所有父模块
     * @param pstate 状态 1 启用 2禁用
     * @return
     */
    List<Module> findAllParentModule(Integer pstate);
}